.class public Lcom/nemustech/regina/widgets/clock/DigitHolder;
.super Lcom/nemustech/tiffany/world/TFSimpleHolder;
.source "DigitHolder.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;,
        Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;,
        Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;
    }
.end annotation


# static fields
.field public static TAG:Ljava/lang/String;


# instance fields
.field private mOnHandleDownListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;

.field private mOnHandleUpListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;

.field private mOnModelSelectListner:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;

.field mOnSelectListener:Lcom/nemustech/tiffany/world/TFWorld$OnSelectListener;

.field private mPanelHeight:F

.field private mPanelWidth:F


# direct methods
.method static constructor <clinit>()V
    .locals 1

    .prologue
    .line 13
    const-string v0, "DigitHolder"

    sput-object v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->TAG:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .locals 1

    .prologue
    const/high16 v0, 0x3f80

    .line 22
    invoke-direct {p0, v0, v0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;-><init>(FF)V

    .line 23
    return-void
.end method

.method public constructor <init>(FF)V
    .locals 7
    .parameter "panelWidth"
    .parameter "panelHeight"

    .prologue
    const/4 v6, 0x1

    .line 26
    invoke-direct {p0}, Lcom/nemustech/tiffany/world/TFSimpleHolder;-><init>()V

    .line 203
    new-instance v4, Lcom/nemustech/regina/widgets/clock/DigitHolder$1;

    invoke-direct {v4, p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder$1;-><init>(Lcom/nemustech/regina/widgets/clock/DigitHolder;)V

    iput-object v4, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnSelectListener:Lcom/nemustech/tiffany/world/TFWorld$OnSelectListener;

    .line 27
    iput p1, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelWidth:F

    .line 28
    iput p2, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    .line 30
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    const/4 v4, 0x3

    if-ge v1, v4, :cond_0

    .line 32
    new-instance v2, Lcom/nemustech/tiffany/world/TFShadowPanel;

    iget v4, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelWidth:F

    iget v5, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    invoke-direct {v2, v4, v5, v6, v6}, Lcom/nemustech/tiffany/world/TFShadowPanel;-><init>(FFII)V

    .line 33
    .local v2, p:Lcom/nemustech/tiffany/world/TFShadowPanel;
    const/4 v4, 0x0

    invoke-virtual {v2, v4}, Lcom/nemustech/tiffany/world/TFShadowPanel;->banChiselFringe(Z)V

    .line 35
    const/16 v4, 0x10

    new-array v0, v4, [F

    fill-array-data v0, :array_0

    .line 41
    .local v0, colorMesh:[F
    invoke-virtual {v2, v0}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshColor([F)V

    .line 43
    const/16 v4, 0xc

    new-array v3, v4, [F

    fill-array-data v3, :array_1

    .line 49
    .local v3, vertexMesh:[F
    invoke-virtual {v2, v3}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshVertex([F)V

    .line 50
    invoke-virtual {v2, p0}, Lcom/nemustech/tiffany/world/TFShadowPanel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    .line 51
    iget-object v4, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnSelectListener:Lcom/nemustech/tiffany/world/TFWorld$OnSelectListener;

    invoke-virtual {v2, v4}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setSelectListener(Lcom/nemustech/tiffany/world/TFWorld$OnSelectListener;)V

    .line 30
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 53
    .end local v0           #colorMesh:[F
    .end local v2           #p:Lcom/nemustech/tiffany/world/TFShadowPanel;
    .end local v3           #vertexMesh:[F
    :cond_0
    invoke-virtual {p0, v6}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setHeadSlotIndex(I)V

    .line 54
    return-void

    .line 35
    nop

    :array_0
    .array-data 0x4
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
    .end array-data

    .line 43
    :array_1
    .array-data 0x4
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
    .end array-data
.end method

.method static synthetic access$000(Lcom/nemustech/regina/widgets/clock/DigitHolder;)Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;
    .locals 1
    .parameter "x0"

    .prologue
    .line 12
    iget-object v0, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnModelSelectListner:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;

    return-object v0
.end method

.method private setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V
    .locals 8
    .parameter "panel"
    .parameter "startPosition"
    .parameter "startValue"
    .parameter "endValue"
    .parameter "opacity"

    .prologue
    const/4 v7, 0x5

    const/4 v6, 0x4

    const/4 v5, 0x2

    const/4 v4, 0x1

    const/4 v3, 0x0

    .line 61
    invoke-virtual {p1}, Lcom/nemustech/tiffany/world/TFShadowPanel;->getVertex()[F

    move-result-object v1

    .line 62
    .local v1, vertex:[F
    invoke-virtual {p1}, Lcom/nemustech/tiffany/world/TFShadowPanel;->getMeshColor()[F

    move-result-object v0

    .line 65
    .local v0, color:[F
    const/4 v2, 0x0

    cmpl-float v2, p2, v2

    if-nez v2, :cond_1

    .line 66
    aput p3, v0, v5

    aput p3, v0, v4

    aput p3, v0, v3

    .line 67
    const/4 v2, 0x6

    aput p3, v0, v2

    aput p3, v0, v7

    aput p3, v0, v6

    .line 68
    const/16 v2, 0x8

    const/16 v3, 0x9

    const/16 v4, 0xa

    aput p4, v0, v4

    aput p4, v0, v3

    aput p4, v0, v2

    .line 69
    const/16 v2, 0xc

    const/16 v3, 0xd

    const/16 v4, 0xe

    aput p4, v0, v4

    aput p4, v0, v3

    aput p4, v0, v2

    .line 77
    :cond_0
    :goto_0
    const/4 v2, 0x3

    const/4 v3, 0x7

    const/16 v4, 0xb

    const/16 v5, 0xf

    aput p5, v0, v5

    aput p5, v0, v4

    aput p5, v0, v3

    aput p5, v0, v2

    .line 78
    invoke-virtual {p1, v1}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshVertex([F)V

    .line 79
    invoke-virtual {p1, v0}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshColor([F)V

    .line 80
    return-void

    .line 71
    :cond_1
    const/high16 v2, 0x3f80

    cmpl-float v2, p2, v2

    if-nez v2, :cond_0

    .line 72
    aput p4, v0, v5

    aput p4, v0, v4

    aput p4, v0, v3

    .line 73
    const/4 v2, 0x6

    aput p4, v0, v2

    aput p4, v0, v7

    aput p4, v0, v6

    .line 74
    const/16 v2, 0x8

    const/16 v3, 0x9

    const/16 v4, 0xa

    aput p3, v0, v4

    aput p3, v0, v3

    aput p3, v0, v2

    .line 75
    const/16 v2, 0xc

    const/16 v3, 0xd

    const/16 v4, 0xe

    aput p3, v0, v4

    aput p3, v0, v3

    aput p3, v0, v2

    goto :goto_0
.end method


# virtual methods
.method protected calcTouchVectorMagnitude([FI)F
    .locals 2
    .parameter "forceVector"
    .parameter "tickPassed"

    .prologue
    .line 186
    const/4 v0, 0x5

    aget v0, p1, v0

    const/4 v1, 0x1

    aget v1, p1, v1

    sub-float/2addr v0, v1

    neg-float v0, v0

    return v0
.end method

.method public getHeadSlotIndex(I)I
    .locals 1
    .parameter "slotCount"

    .prologue
    const/4 v0, 0x1

    .line 167
    if-gt p1, v0, :cond_0

    .line 168
    const/4 v0, 0x0

    .line 169
    :cond_0
    return v0
.end method

.method protected getModelPosition(I)F
    .locals 1
    .parameter "slotIndex"

    .prologue
    const/4 v0, 0x0

    .line 84
    packed-switch p1, :pswitch_data_0

    .line 89
    :goto_0
    :pswitch_0
    return v0

    .line 85
    :pswitch_1
    const/high16 v0, -0x4080

    goto :goto_0

    .line 86
    :pswitch_2
    const/high16 v0, -0x4100

    goto :goto_0

    .line 88
    :pswitch_3
    const/high16 v0, 0x3f00

    goto :goto_0

    .line 84
    :pswitch_data_0
    .packed-switch -0x1
        :pswitch_1
        :pswitch_2
        :pswitch_0
        :pswitch_3
    .end packed-switch
.end method

.method protected handleDown(Lcom/nemustech/tiffany/world/TFModel;IFF)V
    .locals 1
    .parameter "selectedModel"
    .parameter "faceIndex"
    .parameter "x"
    .parameter "y"

    .prologue
    .line 191
    invoke-super {p0, p1, p2, p3, p4}, Lcom/nemustech/tiffany/world/TFSimpleHolder;->handleDown(Lcom/nemustech/tiffany/world/TFModel;IFF)V

    .line 192
    iget-object v0, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleDownListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;

    if-eqz v0, :cond_0

    .line 193
    iget-object v0, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleDownListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;

    invoke-interface {v0, p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;->onHandleDown(Lcom/nemustech/regina/widgets/clock/DigitHolder;)V

    .line 194
    :cond_0
    return-void
.end method

.method protected handleUp(Lcom/nemustech/tiffany/world/TFModel;FF)V
    .locals 1
    .parameter "selectedModel"
    .parameter "x"
    .parameter "y"

    .prologue
    .line 198
    invoke-super {p0, p1, p2, p3}, Lcom/nemustech/tiffany/world/TFSimpleHolder;->handleUp(Lcom/nemustech/tiffany/world/TFModel;FF)V

    .line 199
    iget-object v0, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleUpListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;

    if-eqz v0, :cond_0

    .line 200
    iget-object v0, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleUpListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;

    invoke-interface {v0, p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;->onHandleUp(Lcom/nemustech/regina/widgets/clock/DigitHolder;)V

    .line 201
    :cond_0
    return-void
.end method

.method protected locateObject(Lcom/nemustech/tiffany/world/TFObject;FI)V
    .locals 17
    .parameter "object"
    .parameter "slotPosition"
    .parameter "slotIndex"

    .prologue
    .line 98
    const/4 v4, 0x0

    cmpl-float v4, p2, v4

    if-nez v4, :cond_0

    .line 99
    const/4 v10, 0x0

    .line 100
    .local v10, rotateAngle:F
    const/4 v11, 0x0

    .line 101
    .local v11, y:F
    const/4 v12, 0x0

    .line 102
    .local v12, z:F
    move-object/from16 v0, p1

    check-cast v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object v5, v0

    const/4 v6, 0x0

    const/high16 v7, 0x3f80

    const/high16 v8, 0x3f80

    const/high16 v9, 0x3f80

    move-object/from16 v4, p0

    invoke-direct/range {v4 .. v9}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V

    .line 103
    const/4 v4, 0x1

    move-object/from16 v0, p1

    move v1, v4

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    .line 137
    :goto_0
    const/4 v4, 0x0

    move-object/from16 v0, p1

    move v1, v4

    move v2, v11

    move v3, v12

    invoke-virtual {v0, v1, v2, v3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 138
    const/4 v4, 0x0

    move-object/from16 v0, p1

    move v1, v4

    move v2, v10

    invoke-virtual {v0, v1, v2}, Lcom/nemustech/tiffany/world/TFObject;->look(FF)V

    .line 140
    return-void

    .line 106
    .end local v10           #rotateAngle:F
    .end local v11           #y:F
    .end local v12           #z:F
    :cond_0
    const/4 v4, 0x0

    cmpl-float v4, p2, v4

    if-lez v4, :cond_3

    .line 107
    const v4, 0x3ecccccd

    cmpl-float v4, p2, v4

    if-ltz v4, :cond_1

    .line 108
    const/high16 v10, -0x3d4c

    .line 109
    .restart local v10       #rotateAngle:F
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v4, v0

    neg-float v12, v4

    .line 110
    .restart local v12       #z:F
    move-object/from16 v0, p1

    check-cast v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object v5, v0

    const/high16 v6, 0x3f80

    const/4 v7, 0x0

    const/4 v8, 0x0

    const/4 v9, 0x0

    move-object/from16 v4, p0

    invoke-direct/range {v4 .. v9}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V

    .line 111
    const/4 v4, 0x0

    move-object/from16 v0, p1

    move v1, v4

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    .line 134
    :goto_1
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v4, v0

    float-to-double v4, v4

    const-wide/high16 v6, 0x3fe0

    mul-double/2addr v4, v6

    const/4 v6, 0x0

    cmpg-float v6, p2, v6

    if-gez v6, :cond_6

    const/4 v6, -0x1

    :goto_2
    int-to-double v6, v6

    mul-double/2addr v4, v6

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v6, v0

    float-to-double v6, v6

    float-to-double v8, v10

    const-wide v13, 0x400921fb54442d18L

    mul-double/2addr v8, v13

    const-wide v13, 0x4066800000000000L

    div-double/2addr v8, v13

    invoke-static {v8, v9}, Ljava/lang/Math;->cos(D)D

    move-result-wide v8

    mul-double/2addr v6, v8

    const-wide/high16 v8, 0x3fe0

    mul-double/2addr v6, v8

    const/4 v8, 0x0

    cmpl-float v8, p2, v8

    if-lez v8, :cond_7

    const/4 v8, -0x1

    :goto_3
    int-to-double v8, v8

    mul-double/2addr v6, v8

    add-double/2addr v4, v6

    double-to-float v11, v4

    .restart local v11       #y:F
    goto :goto_0

    .line 114
    .end local v10           #rotateAngle:F
    .end local v11           #y:F
    .end local v12           #z:F
    :cond_1
    const/high16 v4, 0x3f80

    const/high16 v5, 0x3f00

    div-float v5, p2, v5

    sub-float/2addr v4, v5

    float-to-double v4, v4

    invoke-static {v4, v5}, Ljava/lang/Math;->acos(D)D

    move-result-wide v4

    const-wide v6, 0x4066800000000000L

    mul-double/2addr v4, v6

    const-wide v6, 0x400921fb54442d18L

    div-double/2addr v4, v6

    double-to-float v4, v4

    neg-float v10, v4

    .line 115
    .restart local v10       #rotateAngle:F
    const-wide/high16 v4, -0x4020

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v6, v0

    float-to-double v6, v6

    mul-double/2addr v4, v6

    float-to-double v6, v10

    const-wide v8, 0x400921fb54442d18L

    mul-double/2addr v6, v8

    const-wide v8, 0x4066800000000000L

    div-double/2addr v6, v8

    invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D

    move-result-wide v6

    mul-double/2addr v4, v6

    const/4 v6, 0x0

    cmpg-float v6, v10, v6

    if-gez v6, :cond_2

    const/4 v6, -0x1

    :goto_4
    int-to-double v6, v6

    mul-double/2addr v4, v6

    double-to-float v12, v4

    .line 116
    .restart local v12       #z:F
    move-object/from16 v0, p1

    check-cast v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object v5, v0

    const/high16 v6, 0x3f80

    const-wide/high16 v7, 0x3ff0

    const/high16 v4, 0x3f00

    div-float v4, p2, v4

    float-to-double v13, v4

    const-wide v15, 0x400921fb54442d18L

    mul-double/2addr v13, v15

    const-wide/high16 v15, 0x4000

    div-double/2addr v13, v15

    invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D

    move-result-wide v13

    sub-double/2addr v7, v13

    double-to-float v7, v7

    const/high16 v8, 0x3f80

    const/high16 v9, 0x3f80

    move-object/from16 v4, p0

    invoke-direct/range {v4 .. v9}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V

    .line 117
    const/4 v4, 0x1

    move-object/from16 v0, p1

    move v1, v4

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    goto/16 :goto_1

    .line 115
    .end local v12           #z:F
    :cond_2
    const/4 v6, 0x1

    goto :goto_4

    .line 121
    .end local v10           #rotateAngle:F
    :cond_3
    const v4, -0x41333333

    cmpg-float v4, p2, v4

    if-gtz v4, :cond_4

    .line 122
    const/high16 v10, 0x42b4

    .line 123
    .restart local v10       #rotateAngle:F
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v4, v0

    neg-float v12, v4

    .line 124
    .restart local v12       #z:F
    move-object/from16 v0, p1

    check-cast v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object v5, v0

    const/4 v6, 0x0

    const/4 v7, 0x0

    const/4 v8, 0x0

    const/4 v9, 0x0

    move-object/from16 v4, p0

    invoke-direct/range {v4 .. v9}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V

    .line 125
    const/4 v4, 0x0

    move-object/from16 v0, p1

    move v1, v4

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    goto/16 :goto_1

    .line 128
    .end local v10           #rotateAngle:F
    .end local v12           #z:F
    :cond_4
    const-wide/high16 v4, 0x3fe0

    move/from16 v0, p2

    float-to-double v0, v0

    move-wide v6, v0

    add-double/2addr v4, v6

    const-wide/high16 v6, 0x3fe0

    div-double/2addr v4, v6

    invoke-static {v4, v5}, Ljava/lang/Math;->acos(D)D

    move-result-wide v4

    const-wide v6, 0x4066800000000000L

    mul-double/2addr v4, v6

    const-wide v6, 0x400921fb54442d18L

    div-double/2addr v4, v6

    double-to-float v10, v4

    .line 129
    .restart local v10       #rotateAngle:F
    const-wide/high16 v4, -0x4020

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mPanelHeight:F

    move v6, v0

    float-to-double v6, v6

    mul-double/2addr v4, v6

    float-to-double v6, v10

    const-wide v8, 0x400921fb54442d18L

    mul-double/2addr v6, v8

    const-wide v8, 0x4066800000000000L

    div-double/2addr v6, v8

    invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D

    move-result-wide v6

    mul-double/2addr v4, v6

    const/4 v6, 0x0

    cmpg-float v6, v10, v6

    if-gez v6, :cond_5

    const/4 v6, -0x1

    :goto_5
    int-to-double v6, v6

    mul-double/2addr v4, v6

    double-to-float v12, v4

    .line 130
    .restart local v12       #z:F
    move-object/from16 v0, p1

    check-cast v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object v5, v0

    const/4 v6, 0x0

    const-wide/high16 v7, 0x3ff0

    const/high16 v4, 0x3f00

    div-float v4, p2, v4

    float-to-double v13, v4

    const-wide v15, 0x400921fb54442d18L

    mul-double/2addr v13, v15

    const-wide/high16 v15, 0x4000

    div-double/2addr v13, v15

    invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D

    move-result-wide v13

    add-double/2addr v7, v13

    double-to-float v7, v7

    const/high16 v8, 0x3f80

    const/high16 v9, 0x3f80

    move-object/from16 v4, p0

    invoke-direct/range {v4 .. v9}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->setShadow(Lcom/nemustech/tiffany/world/TFShadowPanel;FFFF)V

    .line 131
    const/4 v4, 0x1

    move-object/from16 v0, p1

    move v1, v4

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    goto/16 :goto_1

    .line 129
    .end local v12           #z:F
    :cond_5
    const/4 v6, 0x1

    goto :goto_5

    .line 134
    .restart local v12       #z:F
    :cond_6
    const/4 v6, 0x1

    goto/16 :goto_2

    :cond_7
    const/4 v8, 0x1

    goto/16 :goto_3
.end method

.method protected onAddModel(Lcom/nemustech/tiffany/world/TFObject;I)V
    .locals 0
    .parameter "object"
    .parameter "arg1"

    .prologue
    .line 176
    return-void
.end method

.method protected onRemoveModel(Lcom/nemustech/tiffany/world/TFObject;I)V
    .locals 0
    .parameter "object"
    .parameter "arg1"

    .prologue
    .line 182
    return-void
.end method

.method protected onSetDrawOrder(Landroid/util/SparseIntArray;I)V
    .locals 4
    .parameter "drawOrder"
    .parameter "modelIndex"

    .prologue
    .line 146
    const/4 v0, 0x0

    .line 147
    .local v0, drawIndex:I
    invoke-virtual {p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->getSlotCount()I

    move-result v2

    .line 149
    .local v2, slotCount:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    invoke-virtual {p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->getHeadSlotIndex()I

    move-result v3

    if-ge v1, v3, :cond_0

    .line 150
    invoke-virtual {p1, v1, v0}, Landroid/util/SparseIntArray;->put(II)V

    .line 151
    add-int/lit8 v0, v0, 0x1

    .line 149
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 155
    :cond_0
    const/4 v3, 0x1

    sub-int v1, v2, v3

    :goto_1
    invoke-virtual {p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->getHeadSlotIndex()I

    move-result v3

    if-le v1, v3, :cond_1

    .line 156
    invoke-virtual {p1, v1, v0}, Landroid/util/SparseIntArray;->put(II)V

    .line 157
    add-int/lit8 v0, v0, 0x1

    .line 155
    add-int/lit8 v1, v1, -0x1

    goto :goto_1

    .line 161
    :cond_1
    if-lez v2, :cond_2

    .line 162
    invoke-virtual {p0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->getHeadSlotIndex()I

    move-result v3

    invoke-virtual {p1, v3, v0}, Landroid/util/SparseIntArray;->put(II)V

    .line 163
    :cond_2
    return-void
.end method

.method public setInitialImage(Landroid/content/res/Resources;I)V
    .locals 1
    .parameter "resource"
    .parameter "id"

    .prologue
    .line 57
    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Lcom/nemustech/regina/widgets/clock/DigitHolder;->getObjectInSlot(I)Lcom/nemustech/tiffany/world/TFObject;

    move-result-object p0

    .end local p0
    check-cast p0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    const/4 v0, 0x0

    invoke-virtual {p0, v0, p1, p2}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setImageResource(ILandroid/content/res/Resources;I)Lcom/nemustech/tiffany/world/TFError;

    .line 58
    return-void
.end method

.method public setOnHandleDownListener(Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;)V
    .locals 0
    .parameter "onHandleDownListener"

    .prologue
    .line 234
    iput-object p1, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleDownListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleDownListener;

    .line 235
    return-void
.end method

.method public setOnHandleUpListener(Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;)V
    .locals 0
    .parameter "onHandleUpListener"

    .prologue
    .line 230
    iput-object p1, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnHandleUpListener:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnHandleUpListener;

    .line 231
    return-void
.end method

.method public setOnModelSelectListener(Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;)V
    .locals 0
    .parameter "onModelSelectListner"

    .prologue
    .line 226
    iput-object p1, p0, Lcom/nemustech/regina/widgets/clock/DigitHolder;->mOnModelSelectListner:Lcom/nemustech/regina/widgets/clock/DigitHolder$OnModelSelectListner;

    .line 227
    return-void
.end method
